Intro to Scheduling

We now know how the Operating System facilitates the sharing of a core among many processes. The next question is which process to run.

At first glace, the answer may be obvious.

But, there is some unexpected subtlety here.

Beginning Assumptions (to be relaxed as we go):

  1. Each job runs for the same amount of time
  2. All jobs arrive at the same time
  3. One started, each job runs to completion
  4. All jobs use CPU only
  5. The run-time of each job is known.

(Not realistic; but, helpful to keep things simple as we get started.)

(Basically, deciding what order to do the work in.)

Scheduling Metrics

Schedules

Round Robin

Consider I/O

Thinking ahead:

https://pages.cs.wisc.edu/~remzi/OSTEP/cpu-sched.pdf